Comparison between Django Function Based View (FBV) and Class Based View (CBV), djangofbv
I. FBV processing process
First, let's take a look at the logic process of FBV:
1. Simple process (borrow an official example ):
1 urls: 2 from django.conf.urls import url 3 4 from . import views 5 6 urlpatterns = [ 7 url(r'^$', views.index, name='index'), 8 ] 9 10 vi
In Django, two request processing methods are available: fbv and CBV.
I. fbv
Fbv (function base views)Is to use functions in the view to process requests.
Check the Code:
URLs. py
12345678
fromdjango.conf.urlsimporturl, include# from django.contrib import adminfrommytestimportviewsurlpatterns=[# url(r‘^admin/‘, admin.site.urls),url(r‘^index/‘, views.i
First, the FBV processing processFirst look at the FBV logic process:1. Simple process (borrowing official examples):1 URLs:2 fromDjango.conf.urlsImportURL3 4 from.Import views5 6Urlpatterns = [7URL (r'^$', Views.index, Name='Index'),8 ]9 Ten Views : One fromDjango.httpImportHttpResponse A - from. ModelsImportQuestion - the defIndex (Request): -Latest_question_list = Question.objects.order_by ('-pub_d
Examples of CBV and FBV in Django and djangocbvfbv
Preface
This article mainly introduces the CBV and FBV content in Django and shares them for your reference. I will not talk about them much below. Let's take a look at the detailed introduction.
1. CBV
CBV uses an object-oriented method to write view files.
CBV execution process:
The browser sends a request to the server. py matches the url according to th
Fbv: framebuffer Image Viewer. You can view images in JPG, PNG, GIF, BMP, and other formats on the console. You can use fbterm To Set background images on the console, it can also be used on embedded devices for compilation. However, the Ubuntu source code is not provided. You need to download the fbv source code compilation and rely on the following three libraries (the source code contains the correspondi
The life cycle of a Django request is what happens when a user accesses the URL path that is in the server Django daemon.The client sends an HTTP request to the server, and the HTTP request is a bunch of strings whose contents are:Access: http://crm.oldboy.com:8080/login.html, client sends HTTP request1. Route map, matching route (from top to bottom, match to stop), corresponding to the business function in the corresponding viewsURL (r'^login.html', Views.login),2. After the successful match, e
the data in the Request body into a dictionary, and the data in the Request body exists as strings by default.2. fbv and CBV Modes
A URL corresponds to a view function. This mode is called fbv (Function Base Views)
Apart from fbv, Django also has another mode called CBV (Class Base views), That is, a URL corresponds to a class
Example: request a webpage in CBV M
.SymbolTypeConstants.moPointSymbol;
To set a field, see CITIES.DBF file
Cbr. Field = "POPULATION";
Statistics objects are often used in conjunction with category rendering, he says, using a Calculatestatistics method of a Recordset object
Statistical calculation of a numeric field
Mapobjects2.statistics stat = Lyr. Records.calculatestatistics ("POPULATION");
mean--mean, stddev--mean variance
Double FBV = Stat. Mean-(Stat. StdDev * 3);
for (int i=0;i{
Content review:
1. development Mode-general development mode (with the frontend and backend written together)-frontend and backend separation 2. backend development provides a URL for the front end (API/interface development). Note: httpresponse3.django fbv, CBV fbv, function base view def users (request): user_list = ['Alex ', 'oldboys'] Return httpresponse (JSON. dumps (user_list) CBV, class base view rou
result 6.FBV and CBVThe so-called FBV and CBV refer to the correspondence between URL and view
FBV function Base view/url/--and functions
CBV class Base view/url/-Class
All of these are fbv ways. CBV is described below:
urls.py
url(r‘^cbv‘,views.CBVtest.as_view()),
views
Outline
A summary of the content:Ii. Review of the previous sectionThree, Django view –views1, access to a number of user data and file upload2, FBV and CBV3. Decoration DeviceFour, Django template supplement-Django Template language cycle dictionaryFive, Django routing system1, one-to-one: a URL for a function or a class2.1, One-to-many: A class of URLs corresponding to a function or a class2.2, a One-to-many, usage summary3, Name parameter4. URL ro
Example of how django restricts access and redirection by anonymous users, while django Anonymous Users
Preface
We should have met that in some pages, we do not want anonymous users to access them, such as personal pages. Such pages can only be accessed by logged-on users. In django, we also have many ways to implement it.
The simplest way is to judge the user is_authenticated in viewz, but this method is also relatively clumsy. We certainly do not want this request to enter our view, before tha
') return render (Reqeust, ' index.html ', {' Current_User ': v})
Example 3: We know we can use FBV or CBV to route the function. Example 2 using the Fbv method, with the CBV can also be achieved
CBV inside, if only intends to decorate a method, then directly in front of the method to add a @method_decorator on the line; If you intend to decorate all the methods in this class, then decorate the top of the
referred to as cbv), we must first understand what the purpose of django's cbv introduction is. Prior to django1.3, generic view was also called a general view, using function-based-view (fbv), that is, a function-based view. Some people think that fbv is more pythonic than cbv. An important feature of python is object-oriented. While cbv is more representative of python object-oriented. Cbv implements the
1. Django Framework Details1. View views.py1. FBV (function base view) functions-based viewThrows a question:Can a function decorator be used directly to decorate a method in a class?2. CBV (class base view) FBV (function base view)3. Considerations for uploading Files:1. If there is an upload file, the uploaded file object should be taken from Request.Files in views.py2. If there is an upload file, the for
The source code parsing of Django CBV mode
In general, the nature of HTTP requests is based on the socket
Django view functions can be based on the FBV mode, or can be based on the CBV mode.
The FBV-based pattern is the association of URL and view functions in the Django Routing map table, while the CBV-based pattern defines the view class in the views.py file, view functions in the view class, such as Get,
' ^test ', views.test), ]5. Default value, NamespacePass Second, the View1, FBVCBV1.1. FBV (function Base view) writes logic based on functions in view#urls. Py:url (R ' ^test ', views.test), # FBV function Base view#views.py:def Test (Request): if Request.method = = "GET": return render (Request, ' test.html ')1.2, CBV (class Base Viev) in the View (view) based on the class writing logic
we can use FBV or CBV to route the function. Example 2 using the Fbv method, with the CBV can also be achieved
CBV inside, if only intends to decorate a method, then directly in front of the method to add a @method_decorator on the line; If you intend to decorate all the methods in this class, then decorate the top of the entire class
views.py
@method_decorator (Auth,name= ' dispatch ') class Order (views
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.